#pragma once

#include <string>
#include <vector>
#include "galois.pb.h"

namespace galois::framework {
struct Process {
  int pid;
  std::string name;
};
class Galois {
public:
  Galois(const std::string &file, bool oneprocess = false);

private:
  //bool InitShm();
  bool InitGroups();
  void monitor();

  std::vector<Process> process;
  std::vector<int> groups_;
  module::Galois mod;
};

} // namespace galois::framework
